using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

	/// <summary>
	/// Summary description for Download.
	/// </summary>
public partial class Download_ : System.Web.UI.Page
	{
		private void Page_Load(object sender, System.EventArgs e)
		{
			// retrieve the path of the file to download, and create
			// a FileInfo object to read its properties
			string path = Server.MapPath(Request.Params["File"]);
			System.IO.FileInfo file = new System.IO.FileInfo(path);

			// clear the current output content from the buffer
			Response.Clear();
			// add the header that specifies the default filename for the Download/SaveAs dialog
			Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
			// add the header that specifies the file size, so that the browser
			// can show the download progress
			Response.AddHeader("Content-Length", file.Length.ToString());
			// specify that the response is a stream that cannot be read by the
			// client and must be downloaded
			Response.ContentType = "application/octet-stream";
			// send the file stream to the client
			Response.WriteFile(file.FullName);
			// stop the execution of this page
			Response.End();
		}

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: This call is required by the ASP.NET Web Form Designer.
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion
	}
